package com.qf.service;

import com.google.gson.Gson;
import com.qf.dao.UserDao;
import com.qf.entity.User;
import com.qf.utils.Result;

public class UserService {


    public String login(String username, String password) {
        // 【1】实例化一个返回结果
        Result result = new Result();
        // 【2】调用dao层 - 访问数据库
        User user =new UserDao().queryUser(username);
        // 【3】判断查询的结果
        if(user.getFUsername()!=null){
            //3.1 判断用户密码是否正确
            if(user.getFPassword().equals(password)){
                //登录成功
                result.setCode("200");
                result.setMsg("登录成功");
                result.setData(new Gson().toJson(user));
                /**
                 * 一般情况下，如果用户登录成功 - 需要返回的内容：
                 * 1. 一个cookie 值
                 * 2. 登录状态
                 * 3. 返回计时时间
                 * 4.返回用户用户页面显示的相关信息-用户名称、头像、性别之类内容
                 *
                 * 借助一个工具类：把对象转换为json字符串格式
                 */

            }else {
                //表示密码不正确
                System.out.println("密码不正确");
                result.setCode("500");
                result.setMsg("密码不正确");

            }

        }else {
        //     没有当前用户
            System.out.println("用户不存在，请注册");
            result.setCode("500");
            result.setMsg("用户不存在");
        }
        return new Gson().toJson(result);
    }

    public String register(User user) {

        // 1. 实例化一个返回对象
        Result result = new Result();
        // 2. 需要先检查数据中是否存在该用户
        User user1 = new UserDao().queryUser(user.getFUsername());
        if(user1.getFUsername() ==null){
            // 【3】调用dao层 - 访问数据库
            new UserDao().insertUser(user);
            result.setCode("200");
            result.setMsg("注册成功");

        }else {
            result.setCode("500");
            result.setMsg("用户已存在");
        }
        return new Gson().toJson(result);
    }
}
